//不能放这里了，放应用那边去，可以统一调配
//package cn.shengchao.examstar.distribute.ohs.remote.mq;
//
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.json.JSONUtil;
//import cn.shengchao.base.enums.ProductType;
//import cn.shengchao.base.event.PaySuccessMessageEvent;
//import cn.shengchao.examstar.distribute.ohs.local.appservice.DistributeOrderDomainService;
//import cn.shengchao.examstar.rpc.base.TransResult;
//import cn.shengchao.examstar.rpc.distribute.dto.DistributeOrderTaskDto;
//import cn.shengchao.examstar.rpc.distribute.dto.DistributePersonUserCreateDto;
//import cn.shengchao.examstar.rpc.distribute.enums.DistributeOrderTaskStatusDataStatusEnum;
//import cn.shengchao.examstar.rpc.distribute.enums.DistributeSaleRoleEnum;
//import cn.shengchao.examstar.rpc.uddsys.bi.PlatformUserArchBI;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.event.EventListener;
//import org.springframework.stereotype.Component;
//
//import java.math.BigDecimal;
//import java.util.Date;
//
//
//@Slf4j
//@Component
//public class DistributeOrderPaySuccessListener {
//
//    @Autowired
//    private PlatformUserArchBI platformUserArchBI;
//
//    @Autowired
//    private DistributeOrderDomainService distributeOrderDomainService;
//
//    @EventListener
//    public void handleCustomEvent(PaySuccessMessageEvent event) {
//        JSONObject order = JSON.parseObject(JSON.toJSONString(event.getSource()));
//        //用户id
//        Long userId = order.getLong("userId");
//        //产品id
//        Long productId = order.getLong("productId");
//        //订单号
//        String orderId = order.getString("tradeNo");
//        //订单号
//        String productType = order.getString("productType");
//        //价格
//        BigDecimal amount = order.getBigDecimal("amount");
//        // 订单时间
//        Date orderTime = order.getDate("payTime");
//        try {
//            if (ProductType.PRODUCT_THIRD_CAP.name().equals(productType)){
//
//                //要退出返回，不能执行下面的
//                return;
//            }
//            //这个会员购买的订单，也给分成，那内容分销商没得分成，会员购买的情况又会不同的情况，需要讨论
//            if (ProductType.PRODUCT_MEMBER.name().equals(productType)) {
//                log.info("产品处理，收到会员订单:{},支付完成事件,用户:{},产品:{}", orderId, userId, productId);
//                DistributePersonUserCreateDto distributePersonUserCreateDto = new DistributePersonUserCreateDto();
//                distributePersonUserCreateDto.setUserId(userId);
//                distributePersonUserCreateDto.setDistributeRoleCode(DistributeSaleRoleEnum.ROLE_SLMB.getCode());
//                TransResult<String> result= platformUserArchBI.createSaleDistributeMemberAndRoleChain(distributePersonUserCreateDto);
//                log.info("会员创建结果:{},用户:{},产品:{}", JSONUtil.toJsonStr(result), userId, productId);
//            }
//            //创建订单任务
//            DistributeOrderTaskDto distributeOrderTaskDto = new DistributeOrderTaskDto();
//            distributeOrderTaskDto.setOrderId(Long.valueOf(orderId));
//            distributeOrderTaskDto.setProductType(productType);
//            distributeOrderTaskDto.setPayUserId(userId);
//            distributeOrderTaskDto.setDistributeOrderAmount(amount);
//            distributeOrderTaskDto.setOrderTime(orderTime);
//            distributeOrderTaskDto.setDistributeTime(DateUtil.offsetSecond(orderTime, 5));
//            distributeOrderTaskDto.setDataStatus(DistributeOrderTaskStatusDataStatusEnum.STATUS_CREATE.getStatus());
//            distributeOrderDomainService.createDistributeOrderTask(distributeOrderTaskDto);
//        } catch (Exception e) {
//            log.error("订单分销处理失败！orderId：{}", orderId, e);
//        }
//    }
//}
